1. Field of the Invention
The present invention relates to enterprise computer applications. More specifically, the present invention relates to a method and an apparatus for making inter-process procedure calls through shared memory.
2. Related Art
Organizations typically arrange enterprise applications into multiple tiers to facilitate scalability, increased performance, and security. Traditionally, each tier is physically located on a different server or cluster of servers. For example, it is common to host the web server/user-interface tier on one server, the business logic on a second server, and the database server on a third server. In the example illustrated in FIG. 1, browsers 108-112 are coupled to application 102 via network 106. Application 102 runs on a server and is coupled to database server 114, which runs on a different server than application 102. As illustrated in FIG. 1, when application 102 wants to execute a procedure call on database server 114, it does so by making a remote procedure call via Oracle Call Interface™ (OCI) 104.
However, the multiple tier architecture gives rise to new problems. Network bandwidth is relatively expensive, and increased usage of the enterprise application results in increased network bandwidth consumption. Performance can also suffer, because it takes time for the tiers to communicate with each other.
In some instances, to increase performance, the various tiers can be placed on the same server. However, for security reasons, the different tiers still run in separate processes on the server. In order for one process to communicate with another process, elaborate protocols are needed, because no generalized mechanism exists for inter-process procedure calls.
Hence, what is needed is a method and an apparatus for making inter-process procedure calls without the limitations listed above.